import Cookies from 'js-cookie'
// import md5 from 'js-md5'
const TokenKey = 'itkjb_leisurely_web_token'
// 是否需要开始刷新token
const BeginRefreshToekn = 'itkjb_leisurely_en_bg'
const RefreshTokenKey = 'itkjb_leisurely_web_Refreshtoken'

export function getToken() {
  return Cookies.get(TokenKey)
}

/**
 * 是否需要开始刷新token
 * @returns {*}
 */
export function IsNeedBeginRefreshToken() {
  if (Cookies.get(BeginRefreshToekn)) {
    // 如果cookie 中还存在，代表还不需要刷新
    return false
  } else {
    // 如果cookie 中不存在，代表还需要刷新
    return true
  }
}

export function getRefreshToken() {
  return Cookies.get(RefreshTokenKey)
}

/**
 * 设置 token 和 refreshToken 并设置过期时间
 * @param token
 * @param refreshToken
 * @param tkExpires token过期时间（秒）
 * @returns {*}
 */
export function setToken(token, refreshToken, tkExpires) {
  const tokenExpires = {
    expires: 1 / 24 // 默认是1小时
  }
  const refreshTokenExpires = {
    expires: 1 / 24 // 刷新token 默认2 小时
  }
  // 开始刷新token的时间，默认是token 时间的一半
  const BeginRefreshExpires = {
    expires: 0.5 / 24 // 默认半小时
  }
  if (tkExpires && tkExpires > 0) {
    tokenExpires.expires = tkExpires / 3600 / 24
    refreshTokenExpires.expires = tokenExpires.expires
    BeginRefreshExpires.expires = tokenExpires.expires / 2
    // console.log('cookie 中的 token 过期时间：' + tokenExpires.expires + '天')
  }
  Cookies.set(TokenKey, token, tokenExpires)
  Cookies.set(BeginRefreshToekn, 'true', BeginRefreshExpires)
  return Cookies.set(RefreshTokenKey, refreshToken, refreshTokenExpires)
}

export function removeToken() {
  return Cookies.remove(TokenKey)
}

export function removeAllToken() {
  Cookies.remove(TokenKey)
  Cookies.remove(BeginRefreshToekn)
  return Cookies.remove(RefreshTokenKey)
}
